package com.adams.user.service;

import java.util.List;

import com.adams.access.db.bean.User;
import com.adams.utils.Page;

/**
 * 
 * 
 * File Name : UserService.java
 * 
 * @Description : 用户管理服务类，提供对用户的增、删、改查功能
 * @author 902990封文进
 */
public interface UserService
{

	/**
	 * 
	 * Description : 创建用户
	 * 
	 * @param user
	 * 
	 */
	public void createUser(User user);

	/**
	 * 
	 * Description : 更新用户
	 * 
	 * @param user
	 * 
	 */
	public void updateUser(User user);

	/**
	 * 
	 * Description : 删除用户
	 * 
	 * @param user
	 * 
	 */
	public void deleteUser(User user);

	/**
	 * 
	 * Description : 根据编号查询用户
	 * 
	 * @param id
	 * @return User
	 * 
	 */
	public User queryById(Long id);

	/**
	 * 
	 * Description : 根据名称查询用户
	 * 
	 * @param name
	 * @return User
	 * 
	 */
	public User queryByName(String name);

	/**
	 * 
	 * Description : 根据角色查询用户
	 * 
	 * @param roleId
	 * @return List<User>
	 * 
	 */
	public List<User> queryByRoleId(Long roleId);

	/**
	 * 
	 * Description : 根据用户名，真实姓名和分页查询用户（用户名和真实姓名采用模糊查询）
	 * 
	 * @param page
	 * @param userName
	 * @param realName
	 * @return Page<User>
	 * 
	 */
	public Page<User> queryAllByPage(Page<User> page, String userName,
			String realName);

}
